import csv

def main():
    """
       主函数
    """
    y_or_n = input("是否退出程序（y/n）")

    while y_or_n != 'y':
        print('请输入以下信息，并用空格分隔')
        input_str = input('性别（男/女） 体重（kg） 身高（cm） 年龄（数字）')
        str_list = input_str.split('')
        #插入写入scv
    with open('BMR_SCV.scv','a+',newline='')as f:
        try:
            gender = str_list[0]
            weight = float(str_list[1])
            height = float(str_list[2])
            age = int(str_list[3])

            if gender == '男':
                bmr = (13.7*weight)+(5.0*height)-(6.8*age)+66
            elif gender == '女':
                bmr = (9.6*weight)+(1.8*height)-(4.7*age)+655
            else:
                bmr=0

            if bmr != 0:
                 print('您的性别：{}，体重：{}公斤，身高：{}厘米，年龄：{}岁，您的基础代谢率：{}大卡'.format(gender,weight,height,age,bmr))

            else:
                print('暂时不支持该性别')

            f_csv = csv.writer(f)
            f_csv.writerow(str_list)
            f.close()
        except ValueError:
            print('请输入正确信息')
        except IndexError:
            print('输入信息过少')
        except csv.Error:
            print('csv错误')
        except:
            print('程序异常')

    print()

    y_or_n = input('是否退出程序（y/n）？')

if __name__ == '__main__':
    main()